#include "UserModel.hpp"
#include "db.h"
#include <iostream>
#include <string>
#include <cassert>

 bool UserModel::insert(User &user)
 {
      //向User中插入一列
      char buffer[128];                                   //注意占位符用单引号呀，因为占位符就是一个字符
       int n = sprintf(buffer,"insert into User (name,password,state)values('%s','%s','%s')",
       user.getName().c_str(), user.getPassword().c_str() , user.getState().c_str());
        
       //注意，断言是真无事发生，断言是假程序有假
       assert(n != 0);
       (void)n;
        
       MySQL sql;
       if(sql.connect())
       {
            //string的构造函数就可以 将char转为string
            if(sql.update(buffer))
            {
                // 获取新插入的行信息的id（因为id是auto_increment自增主键，我们无法提前预设）
                user.setId(mysql_insert_id(sql.getConnection()));
                return true;
            }
       }
       return false;
 }